package com.yuwubao.hz_International.services

import com.yuwubao.hz_International.entities.*
import com.yuwubao.hz_International.entities.vo.*
import org.springframework.data.domain.Page
import java.util.*

interface AppService {
    fun getStore(index: Int, size: Int): Page<StoreEntity>?
    fun getBanner(): List<String>
    fun consumptionVos(userId: Int, index: Int, size: Int, type: Int): Page<ConsumptionVo>?
    fun recharge(userId: Int, money: Double)
    fun getMyCoin(userId: Int, type: Int): MyCoin
    fun findMyQrCode(userId: Int): MyQrCode
    fun beforeRecharge(userId: Int, type: Int): MyCoin
    fun toWelfare(userId: Int, money: Double)
    fun getMyCoins(userId: Int): MyCoins
    fun getCustomer(): String
    fun toRedeem(userId: Int, money: Double)
    fun getMyFans(userId: Int, index: Int, size: Int): HashMap<String, Any>
    fun createGiftFans(fans: GiftFans)
    fun withdrawal(userId: Int, money: Double)
    fun beforeWithdrawal(userId: Int): WithdrawalVo
    fun pay(userId: Int, qrCode: Int, money: Double)
    fun getMyCollections(userId: Int, type: Int, index: Int, size: Int): Page<MyCollectionVo>
    fun updatePassword(phone: String, password: String)
    fun getAllWelfare(): WelfareVo
    fun save(welfareTotal: WelfareTotal)
    fun hasWelfareUser(): List<ConsumerEntity>
    fun saveUser(hasWelfareUser: List<ConsumerEntity>)
    fun hasGiftUser(): List<ConsumerEntity>
    fun welfareConfig(): WelfareConfigEntity?
    fun giftConfig(): GiftConfigEntity?
    fun saveDetail(list: MutableList<AcountDetailEntity>)
    fun createQrCode(storeEntity: StoreEntity): String

    fun hasBonousUser(): List<ConsumerEntity>
    fun getMoneyList(name: String, start: String, end: String, index: Int, size: Int, type: Int): Page<MoneyVo>
    fun updateName()
}